
Only the new code will be noted here:

(This next loop sees if our current command is one that needs special code to assess
 its menu availability -- graying it if unavailable -- or another property, such as
 its aiming.  If so, a special function is called for the command.)

C2/52C6: A2 07 00     LDX #$0008
C2/52C9: DF E9 52 C2  CMP $C264CC,X  (does our current command match one whose menu
                                      availability or aiming can vary?)
C2/52CD: D0 08        BNE $52D7      (if not, compare it to next command in table)
C2/52CF: 8A           TXA 
C2/52D0: 0A           ASL 
C2/52D1: AA           TAX 
C2/52D2: FC F1 52     JSR ($64D5,X)  (call special function for command)
C2/52D5: 80 04        BRA $52DB      (we've gotten a match, so there's no need to
                                      compare our current command against rest of list)
C2/52D7: CA           DEX 
C2/52D8: 10 EF        BPL $52C9      (there are 8 possible commands that need
                                      special checks)


(This next loop sees if our current command is one that needs special code to assess
 its menu availability -- blanking it if unavailable -- or do some other tests.  If so,
 a special function is called for the command.)

C2/53C9: A3 01        LDA $01,S       (get current command)
C2/53CB: A2 05        LDX #$06
C2/53CD: DF 68 54 C2  CMP $C264B7,X   (is it one of the commands that can be blanked from menu
                                       or have other miscellaneous crap done?)
C2/53D1: D0 08        BNE $53DB       (branch if not)
C2/53D3: 8A           TXA 
C2/53D4: 0A           ASL 
C2/53D5: AA           TAX             (X = X * 2)
C2/53D6: FC 5C 54     JSR ($64BE,X)   (call special function for command)
C2/53D9: 80 03        BRA $53DE       (we've gotten a match, so there's no need to
                                       compare our current command against rest of list)
C2/53DB: CA           DEX 
C2/53DC: 10 EF        BPL $53CD       (there are 6 possible commands that need
                                       special checks)

Data: Command comparison
C2/64B7:	03      	(Morph)
C2/64B8:	11      	(Leap)
C2/64B9:	13      	(Dance)
C2/64BA:	02      	(Magic)
C2/64BB:	17      	(X-Magic)
C2/64BC:	0C      	(Lore)
C2/64BD:	19      	(Summon)

Data: Jump table!
C2/64BE:	0B54
C2/64C0:	3E54
C2/64C2:	3954
C2/64C4:	2954
C2/64C6:	2954
C2/64C8:	4554
C2/64CA:	2D54

Data: Command comparison
C2/64CC:	03      	(Morph)
C2/64CD:	0B      	(Runic)
C2/64CE:	07      	(SwdTech)
C2/64CF:	0C      	(Lore)
C2/64D0:	17      	(X-Magic)
C2/64D1:	02      	(Magic)
C2/64D2:	19      	(Summon)
C2/64D3:	06      	(Capture)
C2/64D4:	00      	(Fight)

Data: Jump table!
C2/64D5:	2653
C2/64D7:	2253
C2/64D9:	1D53
C2/64DB:	1453
C2/64DD:	1453
C2/64DF:	1453
C2/64E1:	1453
C2/64E3:	0153
C2/64E5:	0153
